home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
gnu
/
screen32.lha
/
screen-3.2b
/
config.h.in
< prev
next >
Wrap
Text File
|
1992-10-27
|
11KB
|
342 lines
/* Template configuration file for screen. -*- C -*-
* Copyright (c) 1991
* Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
* Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
* Copyright (c) 1987 Oliver Laumann
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 1, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program (see the file COPYING); if not, write to the
* Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* Noteworthy contributors to screen's design and implementation:
* Wayne Davison (davison@borland.com)
* Patrick Wolfe (pat@kai.com, kailand!pat)
* Bart Schaefer (schaefer@cse.ogi.edu)
* Nathan Glasser (nathan@brokaw.lcs.mit.edu)
* Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
* Howard Chu (hyc@hanauma.jpl.nasa.gov)
* Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
* Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
* Marc Boucher (marc@CAM.ORG)
*
****************************************************************
* $Id: config.all,v 1.2 92/02/03 02:30:36 jnweiger Exp $ FAU
*/
/*
* This file has two parts:
* 1. Site configuration. Preferences that depend on your tastes
* or on details of your individual installation.
* You should check these values by hand.
*
* 2. O.S. configuration. Variables that depend on what kind of
* operating system you are running.
* The configure script tries to set these correctly automatically
* when it creates config.h from config.h.in.
* If it messes up, you can set them by hand.
*/
/*
* Site Configuration Section
*/
/*
* First, decide whether to install screen set-uid to root.
* This isn't necessary to use screen, but it allows the pseudo-ttys
* to be set to their proper owner (for security purposes), /etc/utmp to be
* updated, and /dev/kmem to be accessed to read the load average values.
*
* Failing to install it suid root (e.g., if you fear a trojan horse) doesn't
* have any major disadvantages, except that w(1) and some other utilities
* will display only "screen" as the current process, and the pseudo ttys
* (ptys) used for the virtual terminals won't have their owners set. Screen
* can provide you some pty security by opening the ptys exclusively, but
* this has the unfortunate side-effect of keeping your own subprocesses from
* being able to open /dev/tty.
*
* An alternative to installing screen set-uid root is to install it set-gid
* utmp (with the file /etc/utmp installed to be group-utmp writable) or
* set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
* custom group to give you both. The final alternative is to omit /etc/utmp
* updating and the /dev/kmem reading (see the following defines) and simply
* run screen as a regular program -- its major functions will be unaffected.
*
* If screen is going to be installed set-uid root, you MUST define SUIDROOT.
*/
#define SUIDROOT
/*
* If screen is installed with permissions to update /etc/utmp (such as if
* it is installed set-uid root), define UTMPOK. Set LOGINDEFAULT to one (1)
* if you want entries added to /etc/utmp by default, else set it to zero (0).
*/
#define UTMPOK
#define LOGINDEFAULT 1
/*
* If UTMPOK is defined and your system (incorrectly) counts logins by
* counting non-null entries in /etc/utmp (instead of counting non-null
* entries with no hostname that are not on a pseudo tty), define USRLIMIT
* to have screen put an upper-limit on the number of entries to write
* into /etc/utmp. This helps to keep you from exceeding a limited-user
* license.
*/
#undef USRLIMIT
/*
* If screen is NOT installed set-uid root, screen can provide tty security
* by exclusively locking the ptys. While this keeps other users from
* opening your ptys, it also keeps your own subprocesses from being able
* to open /dev/tty. Define LOCKPTY to add this exclusive locking.
*/
#undef LOCKPTY
/*
* If your version of NFS supports named sockets and you install screen
* suid root, you may need to define NFS_HACK for screen to be able to
* open the sockets.
*/
#undef NFS_HACK
/*
* By default screen will create a directory named ".screen" in the user's
* HOME directory to contain the named sockets. If this causes you problems
* (e.g., some user's HOME directories are NFS-mounted and don't support
* named sockets) you can have screen create the socket directories in a
* common subdirectory, such as /tmp or /usr/tmp. It makes things a little
* more secure if you choose a directory where the "sticky" bit is on, but
* this isn't required. Screen will name the subdirectories "S-$USER"
* (e.g /tmp/S-davison).
* Do not define TMPTEST unless it's for debugging purpose.
* If you want to have your socket directory in "/tmp/screens" then
* define LOCALSOCKDIR and change the definition of SOCKDIR below.
*/
#define LOCALSOCKDIR
#ifdef LOCALSOCKDIR
# ifndef TMPTEST
# define SOCKDIR "/tmp/screens"
# else
# define SOCKDIR "/tmp/testscreens"
# endif
#endif
/*
* If you'd rather see the status line on the first line of your
* terminal rather than the last, define TOPSTAT.
* This should really be screenrc-settable, not a compile option.
*/
#undef TOPSTAT
/*
* define LOCK if you want to use a lock program for a screenlock.
* define PASSWORD for secure reattach of your screen.
* define COPY_PASTE to use the famous hacker's treasure zoo.
* define POW_DETACH to have a detach_and_logout key.
* define REMOTE_DETACH (-d option) to move screen between terminals.
*/
#define LOCK
#define PASSWORD
#define COPY_PASTE
#define REMOTE_DETACH
#define POW_DETACH
/*
* As error messages are mostly meaningless to the user, we
* try to throw out phrases that are somewhat more familiar
* to ...well, at least familiar to us NetHack players.
*/
#define NETHACK
/*
* O.S. Configuration Section
* configure defines these symbols if appropriate
*/
/*
* Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
*/
#undef POSIX
/*
* Define BSDJOBS if you have BSD-style job control (both process
* groups and a tty that deals correctly with them).
*/
#undef BSDJOBS
/*
* Define TERMIO if you have struct termio instead of struct sgttyb.
* This is usually the case for SVID systems, whereas BSD uses sgttyb.
* POSIX systems should define this anyway, even though they use
* struct termios.
*/
#undef TERMIO
/*
* Define TERMINFO if your machine emulates the termcap routines
* with the terminfo database.
* Thus the .screenrc file is parsed for
* the command 'terminfo' and not 'termcap'.
*/
#undef TERMINFO
/*
* Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
*/
#undef SYSV
/*
* Define SIGVOID if your signal handlers return void. On older
* systems, they return int, but on newer ones, they return void.
*/
#undef SIGVOID
/*
* Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
*/
#undef DIRENT
/*
* If your system has getutent(), pututline(), etc. to write to the
* utmp file, define GETUTENT.
*/
#undef GETUTENT
/*
* Define UTHOST if the utmp file has a host field.
*/
#undef UTHOST
/*
* If ttyslot() breaks getlogin() by returning indexes to utmp entries of
* type DEAD_PROCESS, then our getlogin() replacement should be selected by
* defining BUGGYGETLOGIN. This is only known to happen on SVR4.
* This is only used if UTMPOK is defined.
*/
#undef BUGGYGETLOGIN
/*
* If your system does not have the calls setreuid() and setregid(), define
* NOREUID to force screen to use a forked process to safely create output
* files without retaining any special privileges. (Output logging will be
* disabled, however.)
*/
#undef NOREUID
/*
* If your system has the new format /etc/ttys (like 4.3 BSD) and the
* getttyent(3) library functions, define GETTTYENT.
*/
#undef GETTTYENT
/*
* Define USEBCOPY if the bcopy() from your system's C library supports the
* overlapping of source and destination blocks. When undefined, screen
* uses its own (probably slower) version of bcopy().
*/
#undef USEBCOPY
/*
* If your system has vsprintf() and requires the use of the macros in
* <varargs.h> to use functions with variable arguments, define USEVARARGS.
*/
#undef USEVARARGS
/*
* Define this if your system supports named pipes
* instead of sockets.
*/
#undef NAMEDPIPE
/*
* if your system does not come with a putenv()/getenv() functions,
* you may bring in our own code by defining NEEDSETENV *and* adding
* putenv.o to OFILES in your Makefile.
*/
#undef NEEDSETENV
/*
* Define if you have shadow passwords and <shadow.h>.
*/
#undef SHADOWPW
/*
* Define if you are not SYSV, POSIX, apollo, or sysV68,
* yet your headers define pid_t.
*/
#undef PID_T_DEFINED
/*
* Define if your headers define sig_t.
*/
#undef SIG_T_DEFINED
/*
* Define if you have nlist.h. For getting the load average.
*/
#undef NLIST_STRUCT
/*
* Define each of these if the appropriate function is declared in
* your system header files.
*/
#undef CRYPT_DECLARED
#undef GETHOSTNAME_DECLARED
#undef KILLSTUFF_DECLARED /* kill and maybe killpg */
#undef MEMFUNCS_DECLARED /* bzero, bcopy or memset */
#undef MKNOD_DECLARED /* in sys/stat.h */
#undef NLIST_DECLARED
#undef PUTENV_DECLARED
#undef REUID_DECLARED /* setres?[ug]id */
#undef SETPGID_DECLARED /* in unistd.h */
#undef VPRNT_DECLARED /* vsprintf */
#undef WAITSTUFF_DECLARED /* wait3 */
/*
* If you are on a SYS V machine that restricts filename length to 14
* characters, you may need to enforce that by defining this to 14.
*/
#ifndef NAME_MAX
#undef NAME_MAX
#endif
/*
* The characters to try when finding pty names to open,
* on some types of systems.
* Try each char in PTY_FIRST_CHARS followed by each char in
* PTY_SECOND_CHARS in succession until finding a free pty.
*/
#ifdef MIPS
#define PTY_FIRST_CHARS "zyxwvutsrqp"
#endif
#ifdef hpux
#define PTY_FIRST_CHARS "pqrstuvw"
#endif
#ifdef sun
#define PTY_FIRST_CHARS "qprstuvwxyzPQRST"
#endif
#ifndef PTY_FIRST_CHARS
#define PTY_FIRST_CHARS "qpr"
#endif
#ifndef PTY_SECOND_CHARS
#define PTY_SECOND_CHARS "0123456789abcdef"
#endif